Skip to content

docs: update declarative validation to reflect updated KEP-5073 lifecycle#54698

Merged
k8s-ci-robot merged 3 commits intokubernetes:dev-1.36from
aaron-prindle:dv-alpha-beta-update
Apr 1, 2026
Merged

docs: update declarative validation to reflect updated KEP-5073 lifecycle#54698
k8s-ci-robot merged 3 commits intokubernetes:dev-1.36from
aaron-prindle:dv-alpha-beta-update

Conversation

@aaron-prindle
Copy link
Copy Markdown
Contributor

@aaron-prindle aaron-prindle commented Feb 26, 2026

Description

This PR updates the declarative validation documentation to reflect the new +k8s:alpha and +k8s:beta shadow lifecycle semantic detailed in recent KEP-5073 updated:

Summary

  • Removes the +k8s:declarativeValidationNative tag which has been superseded. (previously added in: docs: add stability level information to declarative validation tags #53556)
  • Adds documentation for the +k8s:alpha and +k8s:beta tag, which allows individual validations to run in shadow mode (collecting metrics while still allowing the existing hand-written code to be authoritative) and in authoritative mode respectively. This is used for safely migrating hand-written validation logic.
  • Cleans up stability level notes for isSubresource and supportsSubresource that previously referenced the deprecated native tag.

NOTE: a previous version of this PR was submitted here - #54195. This PR was created to have the changes properly target the dev-v1.36 branch and that PR was closed.

Issue

N/A

Closes: #
N/A

@k8s-ci-robot k8s-ci-robot added this to the 1.36 milestone Feb 26, 2026
@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Feb 26, 2026
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Feb 26, 2026
@aaron-prindle aaron-prindle changed the title docs: update declarative validation to reflect KEP-5073 lifecycle docs: update declarative validation to reflect updated KEP-5073 lifecycle Feb 26, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 26, 2026

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit ccf4084
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/69a07e399aaf460008506032
😎 Deploy Preview https://deploy-preview-54698--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify bot commented Feb 26, 2026

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 1d5c375
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/69cd73b68769c10008457d85
😎 Deploy Preview https://deploy-preview-54698--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@aaron-prindle aaron-prindle force-pushed the dv-alpha-beta-update branch 2 times, most recently from 8c8158d to 70d80e8 Compare March 26, 2026 19:01
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 26, 2026
@aaron-prindle aaron-prindle force-pushed the dv-alpha-beta-update branch 2 times, most recently from c0797a5 to ed23747 Compare March 26, 2026 19:17

Administrators can choose to explicitly enable `DeclarativeValidationTakeover=true` to make the *declarative* validation authoritative for migrated fields, typically after verifying stability in their environment (e.g., by monitoring the mismatch metric).
Administrators can explicitly disable the `DeclarativeValidationBeta` feature gate to force `+k8s:beta` validation rules back into shadow mode if unexpected validation behavior or regressions are observed.

## Disabling declarative validation {#opt-out}

As a cluster administrator, you might consider disabling declarative validation whilst it is still beta, under specific circumstances:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're GA'ed right? I don't expect we disable the declarative validation.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote this in a way that it also explained how the DeclartiveValidation feature
gate used to work in case a user is:

  • on older version v1.33-v1.35
  • using emulation version

I think its ok to write this and assume the user is using v1.36 without those constriants so I have now removed this assuming DeclarativeValidation is always on (GA'd) and removed any docs around when it is false


To revert to only using hand-written validation (as used before Kubernetes v1.33), disable the `DeclarativeValidation` feature gate, for example
via command-line arguments: (`--feature-gates=DeclarativeValidation=false`). This also implicitly disables the effect of `DeclarativeValidationTakeover`.
via command-line arguments: (`--feature-gates=DeclarativeValidation=false`). This also implicitly disables the effect of `DeclarativeValidationBeta`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not an option unless in emulated version?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote this in a way that it also explained how the DeclartiveValidation feature
gate used to work in case a user is:

  • on older version v1.33-v1.35
  • using emulation version

I think its ok to write this and assume the user is using v1.36 without those constriants so I have now removed this assuming DeclarativeValidation is always on (GA'd) and removed any docs around when it is false

@aaron-prindle aaron-prindle force-pushed the dv-alpha-beta-update branch 2 times, most recently from 349ceaf to d155496 Compare March 26, 2026 20:54
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 26, 2026
@aaron-prindle aaron-prindle force-pushed the dv-alpha-beta-update branch 4 times, most recently from 6feec3f to 5b5017b Compare March 26, 2026 21:08
@yongruilin
Copy link
Copy Markdown
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 26, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

LGTM label has been added.

DetailsGit tree hash: ef332355b2dfb3a9299d470de36e570d9143208a

@lmktfy
Copy link
Copy Markdown
Member

lmktfy commented Mar 26, 2026

I was hoping people would review kubernetes/contributor-site#667, and then we can update it for v1.36

I don't have enough insight to review kubernetes/contributor-site#667 myself. @aaron-prindle is there anything you ought to do to move kubernetes/contributor-site#667 forward?

@aaron-prindle
Copy link
Copy Markdown
Contributor Author

aaron-prindle commented Mar 26, 2026

@lmktfy - I'm not sure I understand, these are two different changes. This PR updates the k/website tag catalog documentation with the new +k8s:alpha and +k8s:beta documentation. I am trying to get this in before the 3/31 date for docs freeze as k/website is subject to the freeze

The goal of kubernetes/contributor-site#667 is to document everything for DV. That repo (k/contributor-site) and thus the PR is not restricted by the 4/8 docs freeze so hoping to get this in first.

EDIT: docs freeze date is 4/8 not 3/31, updated

@aaron-prindle
Copy link
Copy Markdown
Contributor Author

aaron-prindle commented Mar 26, 2026

I plan on updating all of the documentation in kubernetes/contributor-site#667 but I am trying to get this merged in time for the 4/8 docs freeze date

EDIT: s/code-freeze/docs-freeze

@lmktfy
Copy link
Copy Markdown
Member

lmktfy commented Mar 27, 2026

We can try to get this merged ahead of k/k code freeze, but I don't really see why that'd be important. What have I missed?

@lmktfy
Copy link
Copy Markdown
Member

lmktfy commented Mar 27, 2026

The k/k code freeze doesn't apply to this repository, BTW.

@aaron-prindle
Copy link
Copy Markdown
Contributor Author

I updated the text there, I was refererring to the 4/8 docs freeze referenced here:
https://www.kubernetes.dev/resources/release/#summary
image

@AnshumanTripathi
Copy link
Copy Markdown
Contributor

Hello @aaron-prindle 👋!
I'm reaching out from the Docs team. Just checking in as we approach Docs Freeze on Wednesday 8th April 2026 (AoE) / Thursday 9th April 2026, 12:00 UTC.
This documentation appears to still be under review. To meet the Docs Freeze, this PR must have a technical review as well as lgtm and approve labels applied, without any unaddressed comments or concerns from SIG Docs.
Thank you!

@aaron-prindle
Copy link
Copy Markdown
Contributor Author

@AnshumanTripathi thanks for the information there. This has a technical review from @yongruilin related to the content and now I am hoping to get a docs review /lgtm /approve the docs changes here. Can you help direct a reviewer to this PR? Thanks!

@aaron-prindle
Copy link
Copy Markdown
Contributor Author

/assign @katcosgrove

Copy link
Copy Markdown
Contributor

@katcosgrove katcosgrove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small style guide issue

Co-authored-by: Kat Cosgrove <kat.cosgrove@gmail.com>
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 1, 2026
@yongruilin
Copy link
Copy Markdown
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 1, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

LGTM label has been added.

DetailsGit tree hash: 8ceca35ec01e0e704321f20ace34f497fe42217c

@katcosgrove
Copy link
Copy Markdown
Contributor

/approve

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: katcosgrove

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 1, 2026
@k8s-ci-robot k8s-ci-robot merged commit 606cced into kubernetes:dev-1.36 Apr 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants